<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Arduino FDK AAC Encoder and Decoder Library: aac_fdk Namespace Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Arduino FDK AAC Encoder and Decoder Library
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a>  </div>
  <div class="headertitle">
<div class="title">aac_fdk Namespace Reference</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classaac__fdk_1_1_a_a_c_decoder_f_d_k.html">AACDecoderFDK</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Audio Decoder which decodes AAC into a PCM stream.  <a href="classaac__fdk_1_1_a_a_c_decoder_f_d_k.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structaac__fdk_1_1_audio_info.html">AudioInfo</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classaac__fdk_1_1_a_a_c_encoder_f_d_k.html">AACEncoderFDK</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encodes PCM data to the AAC format and writes the result to a stream.  <a href="classaac__fdk_1_1_a_a_c_encoder_f_d_k.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:acefe91b77f8df2900990ea6e378a299b"><td class="memItemLeft" align="right" valign="top"><a id="acefe91b77f8df2900990ea6e378a299b"></a>
typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><b>AACInfoCallbackFDK</b>) (CStreamInfo &amp;info)</td></tr>
<tr class="separator:acefe91b77f8df2900990ea6e378a299b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2fa6705192c77bc2b2b9d5fa1c89e200"><td class="memItemLeft" align="right" valign="top"><a id="a2fa6705192c77bc2b2b9d5fa1c89e200"></a>
typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><b>AACDataCallbackFDK</b>) (CStreamInfo &amp;info, INT_PCM *pcm_data, size_t len)</td></tr>
<tr class="separator:a2fa6705192c77bc2b2b9d5fa1c89e200"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba1db01b52580d03bfd0a2c95dcafccb"><td class="memItemLeft" align="right" valign="top"><a id="aba1db01b52580d03bfd0a2c95dcafccb"></a>
typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><b>AACCallbackFDK</b>) (uint8_t *aac_data, size_t len)</td></tr>
<tr class="separator:aba1db01b52580d03bfd0a2c95dcafccb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a2778be91ce5b9583922e12ed14800ab7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceaac__fdk.html#a2778be91ce5b9583922e12ed14800ab7">TRANSPORT_TYPE</a> { <br />
&#160;&#160;<a class="el" href="namespaceaac__fdk.html#a2778be91ce5b9583922e12ed14800ab7a2ae984f8c6859d533d241d0d6dd421d6">TT_UNKNOWN</a> = -1
, <a class="el" href="namespaceaac__fdk.html#a2778be91ce5b9583922e12ed14800ab7a08b7c44b8c61203e19d775d815b049d4">TT_MP4_RAW</a> = 0
, <a class="el" href="namespaceaac__fdk.html#a2778be91ce5b9583922e12ed14800ab7aec6dfa33370367efb3b3ae6a92b42abe">TT_MP4_ADIF</a> = 1
, <a class="el" href="namespaceaac__fdk.html#a2778be91ce5b9583922e12ed14800ab7a4dcca5bcc4b82568da4a32aaf231966b">TT_MP4_ADTS</a> = 2
, <br />
&#160;&#160;<a class="el" href="namespaceaac__fdk.html#a2778be91ce5b9583922e12ed14800ab7a89d1c7f23ba3d2efab85e22a7448c946">TT_MP4_LATM_MCP1</a> = 6
, <a class="el" href="namespaceaac__fdk.html#a2778be91ce5b9583922e12ed14800ab7a987ebf05498533bd17a877dfcd580b0a">TT_MP4_LATM_MCP0</a> = 7
, <a class="el" href="namespaceaac__fdk.html#a2778be91ce5b9583922e12ed14800ab7aa522b7ad960dd9229d0c5e7591313d24">TT_MP4_LOAS</a> = 10
, <a class="el" href="namespaceaac__fdk.html#a2778be91ce5b9583922e12ed14800ab7a5e2b269f45b1f5c7cc88eb1f7d0cff38">TT_DRM</a> = 12
<br />
 }</td></tr>
<tr class="separator:a2778be91ce5b9583922e12ed14800ab7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a418a271f19e3b10156f92bc22288bbae"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceaac__fdk.html#a418a271f19e3b10156f92bc22288bbae">AACDEC_PARAM</a> { <br />
&#160;&#160;<a class="el" href="namespaceaac__fdk.html#a418a271f19e3b10156f92bc22288bbaeab8ae6c2917472e7d3126211e4c3106ae">AAC_PCM_DUAL_CHANNEL_OUTPUT_MODE</a>
, <a class="el" href="namespaceaac__fdk.html#a418a271f19e3b10156f92bc22288bbaeaee00cb844fd577b36b433b5fcdc4e0e5">AAC_PCM_OUTPUT_CHANNEL_MAPPING</a>
, <a class="el" href="namespaceaac__fdk.html#a418a271f19e3b10156f92bc22288bbaeab88391ec3d173457f716deb3faf40e22">AAC_PCM_LIMITER_ENABLE</a>
, <a class="el" href="namespaceaac__fdk.html#a418a271f19e3b10156f92bc22288bbaea57f60bf2cddd0bc674b94fe7ec2095d8">AAC_PCM_LIMITER_ATTACK_TIME</a> = 0x0005
, <br />
&#160;&#160;<a class="el" href="namespaceaac__fdk.html#a418a271f19e3b10156f92bc22288bbaea1932cb6a54c21ae2c41d88904ced22b0">AAC_PCM_LIMITER_RELEAS_TIME</a> = 0x0006
, <a class="el" href="namespaceaac__fdk.html#a418a271f19e3b10156f92bc22288bbaea2f63d9b1bf4936c0572557d1da16bff5">AAC_PCM_MIN_OUTPUT_CHANNELS</a>
, <a class="el" href="namespaceaac__fdk.html#a418a271f19e3b10156f92bc22288bbaeaf3a3b56bc4ff56e3b0b62ba0d0539c41">AAC_PCM_MAX_OUTPUT_CHANNELS</a>
, <a class="el" href="namespaceaac__fdk.html#a418a271f19e3b10156f92bc22288bbaea2f0fabc69bb7ca543f419826a410a9dc">AAC_METADATA_PROFILE</a>
, <br />
&#160;&#160;<a class="el" href="namespaceaac__fdk.html#a418a271f19e3b10156f92bc22288bbaeaa76ae6cc27c1d8d4a78a133117b671e7">AAC_METADATA_EXPIRY_TIME</a> = 0x0021
, <a class="el" href="namespaceaac__fdk.html#a418a271f19e3b10156f92bc22288bbaea01eab06c1bfac79f81b310b85fe9b77a">AAC_CONCEAL_METHOD</a> = 0x0100
, <a class="el" href="namespaceaac__fdk.html#a418a271f19e3b10156f92bc22288bbaeaddbb20d235c53c25fe7f7d584bdb0b52">AAC_DRC_BOOST_FACTOR</a>
, <a class="el" href="namespaceaac__fdk.html#a418a271f19e3b10156f92bc22288bbaea62cb3b49cad3af059b850805880d65fa">AAC_DRC_ATTENUATION_FACTOR</a> = 0x0201
, <br />
&#160;&#160;<a class="el" href="namespaceaac__fdk.html#a418a271f19e3b10156f92bc22288bbaea71295e12808cb5f0c40dddb8bf5f5d7b">AAC_DRC_REFERENCE_LEVEL</a>
, <a class="el" href="namespaceaac__fdk.html#a418a271f19e3b10156f92bc22288bbaeac270e13bd9ac27c5895072fd5a65762a">AAC_DRC_HEAVY_COMPRESSION</a>
, <a class="el" href="namespaceaac__fdk.html#a418a271f19e3b10156f92bc22288bbaeadc3efee8200b7b5ad11e405fa7326357">AAC_DRC_DEFAULT_PRESENTATION_MODE</a>
, <a class="el" href="namespaceaac__fdk.html#a418a271f19e3b10156f92bc22288bbaeaf7329553134ecd0474ce173e997362e2">AAC_DRC_ENC_TARGET_LEVEL</a>
, <br />
&#160;&#160;<a class="el" href="namespaceaac__fdk.html#a418a271f19e3b10156f92bc22288bbaea4fb25a8fdf06b93686a63104e443524e">AAC_UNIDRC_SET_EFFECT</a> = 0x0206
, <a class="el" href="namespaceaac__fdk.html#a418a271f19e3b10156f92bc22288bbaeaa8f8095a411905b9e9149d65af5c0575">AAC_UNIDRC_ALBUM_MODE</a>
, <a class="el" href="namespaceaac__fdk.html#a418a271f19e3b10156f92bc22288bbaea0913c35643898ed7f68349865de8d60c">AAC_QMF_LOWPOWER</a>
, <a class="el" href="namespaceaac__fdk.html#a418a271f19e3b10156f92bc22288bbaea477a693692d8102db9d9ed3b7f1aaa34">AAC_TPDEC_CLEAR_BUFFER</a>
<br />
 }</td></tr>
<tr class="memdesc:a418a271f19e3b10156f92bc22288bbae"><td class="mdescLeft">&#160;</td><td class="mdescRight">AAC decoder setting parameters.  <a href="namespaceaac__fdk.html#a418a271f19e3b10156f92bc22288bbae">More...</a><br /></td></tr>
<tr class="separator:a418a271f19e3b10156f92bc22288bbae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89203346d61af32bc4db4f704267ce46"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceaac__fdk.html#a89203346d61af32bc4db4f704267ce46">AACENC_PARAM</a> { <br />
&#160;&#160;<a class="el" href="namespaceaac__fdk.html#a89203346d61af32bc4db4f704267ce46a04e7658db5b070f79ee93e2c498d39ee">AACENC_AOT</a>
, <a class="el" href="namespaceaac__fdk.html#a89203346d61af32bc4db4f704267ce46a3d5cc7ebd03bcdfc77b95878bf26432d">AACENC_BITRATE</a> = 0x0101
, <a class="el" href="namespaceaac__fdk.html#a89203346d61af32bc4db4f704267ce46ab3614c14ad440d41eaa17e87582cbad1">AACENC_BITRATEMODE</a> = 0x0102
, <a class="el" href="namespaceaac__fdk.html#a89203346d61af32bc4db4f704267ce46a96ec2f4327ea83556ee2bda65fcd3043">AACENC_SAMPLERATE</a> = 0x0103
, <br />
&#160;&#160;<a class="el" href="namespaceaac__fdk.html#a89203346d61af32bc4db4f704267ce46ae6835699b740abf05b257af9a23d171e">AACENC_SBR_MODE</a> = 0x0104
, <a class="el" href="namespaceaac__fdk.html#a89203346d61af32bc4db4f704267ce46a53136089ed98ab0fd6b25bef713e7d6e">AACENC_GRANULE_LENGTH</a>
, <a class="el" href="namespaceaac__fdk.html#a89203346d61af32bc4db4f704267ce46ad80879a8f31191b3d8537e8a2e7ae8c8">AACENC_CHANNELMODE</a> = 0x0106
, <a class="el" href="namespaceaac__fdk.html#a89203346d61af32bc4db4f704267ce46a0c4086571f1d2f210d7f8a452313d743">AACENC_CHANNELORDER</a>
, <br />
&#160;&#160;<a class="el" href="namespaceaac__fdk.html#a89203346d61af32bc4db4f704267ce46a437a1d2c19e87a20cbb3aace382548b9">AACENC_SBR_RATIO</a>
, <a class="el" href="namespaceaac__fdk.html#a89203346d61af32bc4db4f704267ce46afc9ecda755c5a31272a40b53cd877ed5">AACENC_AFTERBURNER</a>
, <a class="el" href="namespaceaac__fdk.html#a89203346d61af32bc4db4f704267ce46a8a48e5b2207639bf186bbcb4608c6cee">AACENC_BANDWIDTH</a> = 0x0203
, <a class="el" href="namespaceaac__fdk.html#a89203346d61af32bc4db4f704267ce46aa7bea9a8448ac9bdb64e899e9a05b62c">AACENC_PEAK_BITRATE</a>
, <br />
&#160;&#160;<a class="el" href="namespaceaac__fdk.html#a89203346d61af32bc4db4f704267ce46a2cc84c370b2f6094d532e9012097a953">AACENC_TRANSMUX</a> = 0x0300
, <a class="el" href="namespaceaac__fdk.html#a89203346d61af32bc4db4f704267ce46a190063913318f73cce89ecba3a762727">AACENC_HEADER_PERIOD</a>
, <a class="el" href="namespaceaac__fdk.html#a89203346d61af32bc4db4f704267ce46a7b59c3e9fe4cae5af7baa9eea4ce7ea5">AACENC_SIGNALING_MODE</a>
, <a class="el" href="namespaceaac__fdk.html#a89203346d61af32bc4db4f704267ce46a9889dac3effef6ae098cf97429be71a4">AACENC_TPSUBFRAMES</a>
, <br />
&#160;&#160;<a class="el" href="namespaceaac__fdk.html#a89203346d61af32bc4db4f704267ce46a236396d38d4e924b62af019d32e6d66b">AACENC_AUDIOMUXVER</a>
, <a class="el" href="namespaceaac__fdk.html#a89203346d61af32bc4db4f704267ce46ab3ba3d0962f5705ff7180dcd8fd2adb4">AACENC_PROTECTION</a> = 0x0306
, <a class="el" href="namespaceaac__fdk.html#a89203346d61af32bc4db4f704267ce46a61433a6f8059bb4a511bbe0eb6986697">AACENC_ANCILLARY_BITRATE</a>
, <a class="el" href="namespaceaac__fdk.html#a89203346d61af32bc4db4f704267ce46aed0b972cda98990310fb4549fb857344">AACENC_METADATA_MODE</a> = 0x0600
, <br />
&#160;&#160;<a class="el" href="namespaceaac__fdk.html#a89203346d61af32bc4db4f704267ce46ae00b8ebefd9b8d5b62cd4c9628e6a64b">AACENC_CONTROL_STATE</a>
, <a class="el" href="namespaceaac__fdk.html#a89203346d61af32bc4db4f704267ce46a677d19e9a423010ef015d354eade4d90">AACENC_NONE</a> = 0xFFFF
<br />
 }</td></tr>
<tr class="memdesc:a89203346d61af32bc4db4f704267ce46"><td class="mdescLeft">&#160;</td><td class="mdescRight">AAC encoder setting parameters.  <a href="namespaceaac__fdk.html#a89203346d61af32bc4db4f704267ce46">More...</a><br /></td></tr>
<tr class="separator:a89203346d61af32bc4db4f704267ce46"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Transport type identifiers. </p>
</div><h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="a418a271f19e3b10156f92bc22288bbae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a418a271f19e3b10156f92bc22288bbae">&#9670;&nbsp;</a></span>AACDEC_PARAM</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="namespaceaac__fdk.html#a418a271f19e3b10156f92bc22288bbae">aac_fdk::AACDEC_PARAM</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>AAC decoder setting parameters. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a418a271f19e3b10156f92bc22288bbaeab8ae6c2917472e7d3126211e4c3106ae"></a>AAC_PCM_DUAL_CHANNEL_OUTPUT_MODE&#160;</td><td class="fielddoc"><p>Defines how the decoder processes two channel signals: <br  />
 0: Leave both signals as they are (default). <br  />
 1: Create a dual mono output signal from channel 1. <br  />
 2: Create a dual mono output signal from channel 2. <br  />
 3: Create a dual mono output signal by mixing both channels (L' = R' = 0.5*Ch1 + 0.5*Ch2). </p>
</td></tr>
<tr><td class="fieldname"><a id="a418a271f19e3b10156f92bc22288bbaeaee00cb844fd577b36b433b5fcdc4e0e5"></a>AAC_PCM_OUTPUT_CHANNEL_MAPPING&#160;</td><td class="fielddoc"><p>Output buffer channel ordering. 0: MPEG PCE style order, 1: WAV file channel order (default). </p>
</td></tr>
<tr><td class="fieldname"><a id="a418a271f19e3b10156f92bc22288bbaeab88391ec3d173457f716deb3faf40e22"></a>AAC_PCM_LIMITER_ENABLE&#160;</td><td class="fielddoc"><p>Enable signal level limiting. <br  />
 -1: Auto-config. Enable limiter for all non-lowdelay configurations by default. <br  />
 0: Disable limiter in general. <br  />
 1: Enable limiter always. It is recommended to call the decoder with a AACDEC_CLRHIST flag to reset all states when the limiter switch is changed explicitly. </p>
</td></tr>
<tr><td class="fieldname"><a id="a418a271f19e3b10156f92bc22288bbaea57f60bf2cddd0bc674b94fe7ec2095d8"></a>AAC_PCM_LIMITER_ATTACK_TIME&#160;</td><td class="fielddoc"><p>Signal level limiting attack time in ms. Default configuration is 15 ms. Adjustable range from 1 ms to 15 ms. </p>
</td></tr>
<tr><td class="fieldname"><a id="a418a271f19e3b10156f92bc22288bbaea1932cb6a54c21ae2c41d88904ced22b0"></a>AAC_PCM_LIMITER_RELEAS_TIME&#160;</td><td class="fielddoc"><p>Signal level limiting release time in ms. Default configuration is 50 ms. Adjustable time must be larger than 0 ms. </p>
</td></tr>
<tr><td class="fieldname"><a id="a418a271f19e3b10156f92bc22288bbaea2f63d9b1bf4936c0572557d1da16bff5"></a>AAC_PCM_MIN_OUTPUT_CHANNELS&#160;</td><td class="fielddoc"><p>Minimum number of PCM output channels. If higher than the number of encoded audio channels, a simple channel extension is applied (see note 4 for exceptions). <br  />
 -1, 0: Disable channel extension feature. The decoder output contains the same number of channels as the encoded bitstream. <br  />
 1: This value is currently needed only together with the mix-down feature. See <a class="el" href="namespaceaac__fdk.html#a418a271f19e3b10156f92bc22288bbaeaf3a3b56bc4ff56e3b0b62ba0d0539c41">AAC_PCM_MAX_OUTPUT_CHANNELS</a> and note 2 below. <br  />
 2: Encoded mono signals will be duplicated to achieve a 2/0/0.0 channel output configuration. <br  />
 6: The decoder tries to reorder encoded signals with less than six channels to achieve a 3/0/2.1 channel output signal. Missing channels will be filled with a zero signal. If reordering is not possible the empty channels will simply be appended. Only available if instance is configured to support multichannel output. <br  />
 8: The decoder tries to reorder encoded signals with less than eight channels to achieve a 3/0/4.1 channel output signal. Missing channels will be filled with a zero signal. If reordering is not possible the empty channels will simply be appended. Only available if instance is configured to support multichannel output.<br  />
 NOTE: <br  />
</p><ol type="1">
<li>The channel signaling (CStreamInfo::pChannelType and CStreamInfo::pChannelIndices) will not be modified. Added empty channels will be signaled with channel type AUDIO_CHANNEL_TYPE::ACT_NONE. <br  />
</li>
<li>If the parameter value is greater than that of <a class="el" href="namespaceaac__fdk.html#a418a271f19e3b10156f92bc22288bbaeaf3a3b56bc4ff56e3b0b62ba0d0539c41">AAC_PCM_MAX_OUTPUT_CHANNELS</a> both will be set to the same value. <br  />
</li>
<li>This parameter will be ignored if the number of encoded audio channels is greater than 8. </li>
</ol>
</td></tr>
<tr><td class="fieldname"><a id="a418a271f19e3b10156f92bc22288bbaeaf3a3b56bc4ff56e3b0b62ba0d0539c41"></a>AAC_PCM_MAX_OUTPUT_CHANNELS&#160;</td><td class="fielddoc"><p>Maximum number of PCM output channels. If lower than the number of encoded audio channels, downmixing is applied accordingly (see note 5 for exceptions). If dedicated metadata is available in the stream it will be used to achieve better mixing results. <br  />
 -1, 0: Disable downmixing feature. The decoder output contains the same number of channels as the encoded bitstream. <br  />
 1: All encoded audio configurations with more than one channel will be mixed down to one mono output signal. <br  />
 2: The decoder performs a stereo mix-down if the number encoded audio channels is greater than two. <br  />
 6: If the number of encoded audio channels is greater than six the decoder performs a mix-down to meet the target output configuration of 3/0/2.1 channels. Only available if instance is configured to support multichannel output. <br  />
 8: This value is currently needed only together with the channel extension feature. See <a class="el" href="namespaceaac__fdk.html#a418a271f19e3b10156f92bc22288bbaea2f63d9b1bf4936c0572557d1da16bff5">AAC_PCM_MIN_OUTPUT_CHANNELS</a> and note 2 below. Only available if instance is configured to support multichannel output. <br  />
 NOTE: <br  />
</p><ol type="1">
<li>Down-mixing of any seven or eight channel configuration not defined in ISO/IEC 14496-3 PDAM 4 is not supported by this software version. <br  />
</li>
<li>If the parameter value is greater than zero but smaller than <a class="el" href="namespaceaac__fdk.html#a418a271f19e3b10156f92bc22288bbaea2f63d9b1bf4936c0572557d1da16bff5">AAC_PCM_MIN_OUTPUT_CHANNELS</a> both will be set to same value. <br  />
</li>
<li>This parameter will be ignored if the number of encoded audio channels is greater than 8. </li>
</ol>
</td></tr>
<tr><td class="fieldname"><a id="a418a271f19e3b10156f92bc22288bbaea2f0fabc69bb7ca543f419826a410a9dc"></a>AAC_METADATA_PROFILE&#160;</td><td class="fielddoc"><p>See ::AAC_MD_PROFILE for all available values. </p>
</td></tr>
<tr><td class="fieldname"><a id="a418a271f19e3b10156f92bc22288bbaeaa76ae6cc27c1d8d4a78a133117b671e7"></a>AAC_METADATA_EXPIRY_TIME&#160;</td><td class="fielddoc"><p>Defines the time in ms after which all the bitstream associated meta-data (DRC, downmix coefficients, ...) will be reset to default if no update has been received. Negative values disable the feature. </p>
</td></tr>
<tr><td class="fieldname"><a id="a418a271f19e3b10156f92bc22288bbaea01eab06c1bfac79f81b310b85fe9b77a"></a>AAC_CONCEAL_METHOD&#160;</td><td class="fielddoc"><p>Error concealment: Processing method. <br  />
 0: Spectral muting. <br  />
 1: Noise substitution (see ::CONCEAL_NOISE). <br  />
 2: Energy interpolation (adds additional signal delay of one frame, see ::CONCEAL_INTER. only some AOTs are supported). <br  />
 </p>
</td></tr>
<tr><td class="fieldname"><a id="a418a271f19e3b10156f92bc22288bbaeaddbb20d235c53c25fe7f7d584bdb0b52"></a>AAC_DRC_BOOST_FACTOR&#160;</td><td class="fielddoc"><p>MPEG-4 / MPEG-D Dynamic Range Control (DRC): Scaling factor for boosting gain values. Defines how the boosting DRC factors (conveyed in the bitstream) will be applied to the decoded signal. The valid values range from 0 (don't apply boost factors) to 127 (fully apply boost factors). Default value is 0 for MPEG-4 DRC and 127 for MPEG-D DRC. </p>
</td></tr>
<tr><td class="fieldname"><a id="a418a271f19e3b10156f92bc22288bbaea62cb3b49cad3af059b850805880d65fa"></a>AAC_DRC_ATTENUATION_FACTOR&#160;</td><td class="fielddoc"><p>MPEG-4 / MPEG-D DRC: Scaling factor for attenuating gain values. Same as <a class="el" href="namespaceaac__fdk.html#a418a271f19e3b10156f92bc22288bbaeaddbb20d235c53c25fe7f7d584bdb0b52">AAC_DRC_BOOST_FACTOR</a> but for attenuating DRC factors. </p>
</td></tr>
<tr><td class="fieldname"><a id="a418a271f19e3b10156f92bc22288bbaea71295e12808cb5f0c40dddb8bf5f5d7b"></a>AAC_DRC_REFERENCE_LEVEL&#160;</td><td class="fielddoc"><p>MPEG-4 / MPEG-D DRC: Target reference level / decoder target loudness.<br  />
 Defines the level below full-scale (quantized in steps of 0.25dB) to which the output audio signal will be normalized to by the DRC module.<br  />
 The parameter controls loudness normalization for both MPEG-4 DRC and MPEG-D DRC. The valid values range from 40 (-10 dBFS) to 127 (-31.75 dBFS).<br  />
 Example values:<br  />
 124 (-31 dBFS) for audio/video receivers (AVR) or other devices allowing audio playback with high dynamic range,<br  />
 96 (-24 dBFS) for TV sets or equivalent devices (default),<br  />
 64 (-16 dBFS) for mobile devices where the dynamic range of audio playback is restricted.<br  />
 Any value smaller than 0 switches off loudness normalization and MPEG-4 DRC. </p>
</td></tr>
<tr><td class="fieldname"><a id="a418a271f19e3b10156f92bc22288bbaeac270e13bd9ac27c5895072fd5a65762a"></a>AAC_DRC_HEAVY_COMPRESSION&#160;</td><td class="fielddoc"><p>MPEG-4 DRC: En-/Disable DVB specific heavy compression (aka RF mode). If set to 1, the decoder will apply the compression values from the DVB specific ancillary data field. At the same time the MPEG-4 Dynamic Range Control tool will be disabled. By default, heavy compression is disabled. </p>
</td></tr>
<tr><td class="fieldname"><a id="a418a271f19e3b10156f92bc22288bbaeadc3efee8200b7b5ad11e405fa7326357"></a>AAC_DRC_DEFAULT_PRESENTATION_MODE&#160;</td><td class="fielddoc"><p>MPEG-4 DRC: Default presentation mode (DRC parameter handling). <br  />
 Defines the handling of the DRC parameters boost factor, attenuation factor and heavy compression, if no presentation mode is indicated in the bitstream.<br  />
 For options, see ::AAC_DRC_DEFAULT_PRESENTATION_MODE_OPTIONS.<br  />
 Default: ::AAC_DRC_PARAMETER_HANDLING_DISABLED </p>
</td></tr>
<tr><td class="fieldname"><a id="a418a271f19e3b10156f92bc22288bbaeaf7329553134ecd0474ce173e997362e2"></a>AAC_DRC_ENC_TARGET_LEVEL&#160;</td><td class="fielddoc"><p>MPEG-4 DRC: Encoder target level for light (i.e. not heavy) compression.<br  />
 If known, this declares the target reference level that was assumed at the encoder for calculation of limiting gains. The valid values range from 0 (full-scale) to 127 (31.75 dB below full-scale). This parameter is used only with ::AAC_DRC_PARAMETER_HANDLING_ENABLED and ignored otherwise.<br  />
 Default: 127 (worst-case assumption).<br  />
 </p>
</td></tr>
<tr><td class="fieldname"><a id="a418a271f19e3b10156f92bc22288bbaea4fb25a8fdf06b93686a63104e443524e"></a>AAC_UNIDRC_SET_EFFECT&#160;</td><td class="fielddoc"><p>MPEG-D DRC: Request a DRC effect type for selection of a DRC set.<br  />
 Supported indices are:<br  />
 -1: DRC off. Completely disables MPEG-D DRC.<br  />
 0: None (default). Disables MPEG-D DRC, but automatically enables DRC if necessary to prevent clipping.<br  />
 1: Late night<br  />
 2: Noisy environment<br  />
 3: Limited playback range<br  />
 4: Low playback level<br  />
 5: Dialog enhancement<br  />
 6: General compression. Used for generally enabling MPEG-D DRC without particular request.<br  />
 </p>
</td></tr>
<tr><td class="fieldname"><a id="a418a271f19e3b10156f92bc22288bbaeaa8f8095a411905b9e9149d65af5c0575"></a>AAC_UNIDRC_ALBUM_MODE&#160;</td><td class="fielddoc"><p>MPEG-D DRC: Enable album mode. 0: Disabled (default), 1: Enabled.<br  />
 Disabled album mode leads to application of gain sequences for fading in and out, if provided in the bitstream.<br  />
 Enabled album mode makes use of dedicated album loudness information, if provided in the bitstream.<br  />
 </p>
</td></tr>
<tr><td class="fieldname"><a id="a418a271f19e3b10156f92bc22288bbaea0913c35643898ed7f68349865de8d60c"></a>AAC_QMF_LOWPOWER&#160;</td><td class="fielddoc"><p>Quadrature Mirror Filter (QMF) Bank processing mode. <br  />
 -1: Use internal default. <br  />
 0: Use complex QMF data mode. <br  />
 1: Use real (low power) QMF data mode. <br  />
 </p>
</td></tr>
<tr><td class="fieldname"><a id="a418a271f19e3b10156f92bc22288bbaea477a693692d8102db9d9ed3b7f1aaa34"></a>AAC_TPDEC_CLEAR_BUFFER&#160;</td><td class="fielddoc"><p>Clear internal bit stream buffer of transport layers. The decoder will start decoding at new data passed after this event and any previous data is discarded. </p>
</td></tr>
</table>

</div>
</div>
<a id="a89203346d61af32bc4db4f704267ce46"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a89203346d61af32bc4db4f704267ce46">&#9670;&nbsp;</a></span>AACENC_PARAM</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="namespaceaac__fdk.html#a89203346d61af32bc4db4f704267ce46">aac_fdk::AACENC_PARAM</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>AAC encoder setting parameters. </p>
<p>Use aacEncoder_SetParam() function to configure, or use aacEncoder_GetParam() function to read the internal status of the following parameters. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a89203346d61af32bc4db4f704267ce46a04e7658db5b070f79ee93e2c498d39ee"></a>AACENC_AOT&#160;</td><td class="fielddoc"><p>Audio object type. See ::AUDIO_OBJECT_TYPE in FDK_audio.h.</p><ul>
<li>2: MPEG-4 AAC Low Complexity.</li>
<li>5: MPEG-4 AAC Low Complexity with Spectral Band Replication (HE-AAC).</li>
<li>29: MPEG-4 AAC Low Complexity with Spectral Band Replication and Parametric Stereo (HE-AAC v2). This configuration can be used only with stereo input audio data.</li>
<li>23: MPEG-4 AAC Low-Delay.</li>
<li>39: MPEG-4 AAC Enhanced Low-Delay. Since there is no ::AUDIO_OBJECT_TYPE for ELD in combination with SBR defined, enable SBR explicitely by <a class="el" href="namespaceaac__fdk.html#a89203346d61af32bc4db4f704267ce46ae6835699b740abf05b257af9a23d171e">AACENC_SBR_MODE</a> parameter. The ELD v2 212 configuration can be configured by <a class="el" href="namespaceaac__fdk.html#a89203346d61af32bc4db4f704267ce46ad80879a8f31191b3d8537e8a2e7ae8c8">AACENC_CHANNELMODE</a> parameter.</li>
<li>129: MPEG-2 AAC Low Complexity.</li>
<li>132: MPEG-2 AAC Low Complexity with Spectral Band Replication (HE-AAC).</li>
</ul>
<p>Please note that the virtual MPEG-2 AOT's basically disables non-existing Perceptual Noise Substitution tool in AAC encoder and controls the MPEG_ID flag in adts header. The virtual MPEG-2 AOT doesn't prohibit specific transport formats. </p>
</td></tr>
<tr><td class="fieldname"><a id="a89203346d61af32bc4db4f704267ce46a3d5cc7ebd03bcdfc77b95878bf26432d"></a>AACENC_BITRATE&#160;</td><td class="fielddoc"><p>Total encoder bitrate. This parameter is mandatory and interacts with <a class="el" href="namespaceaac__fdk.html#a89203346d61af32bc4db4f704267ce46ab3614c14ad440d41eaa17e87582cbad1">AACENC_BITRATEMODE</a>.</p><ul>
<li>CBR: Bitrate in bits/second.</li>
<li>VBR: Variable bitrate. Bitrate argument will be ignored. See suppBitrates for details. </li>
</ul>
</td></tr>
<tr><td class="fieldname"><a id="a89203346d61af32bc4db4f704267ce46ab3614c14ad440d41eaa17e87582cbad1"></a>AACENC_BITRATEMODE&#160;</td><td class="fielddoc"><p>Bitrate mode. Configuration can be different kind of bitrate configurations:</p><ul>
<li>0: Constant bitrate, use bitrate according to <a class="el" href="namespaceaac__fdk.html#a89203346d61af32bc4db4f704267ce46a3d5cc7ebd03bcdfc77b95878bf26432d">AACENC_BITRATE</a>. (default) Within none LD/ELD ::AUDIO_OBJECT_TYPE, the CBR mode makes use of full allowed bitreservoir. In contrast, at Low-Delay ::AUDIO_OBJECT_TYPE the bitreservoir is kept very small.</li>
<li>1: Variable bitrate mode, very low bitrate.</li>
<li>2: Variable bitrate mode, low bitrate.</li>
<li>3: Variable bitrate mode, medium bitrate.</li>
<li>4: Variable bitrate mode, high bitrate.</li>
<li>5: Variable bitrate mode, very high bitrate. </li>
</ul>
</td></tr>
<tr><td class="fieldname"><a id="a89203346d61af32bc4db4f704267ce46a96ec2f4327ea83556ee2bda65fcd3043"></a>AACENC_SAMPLERATE&#160;</td><td class="fielddoc"><p>Audio input data sampling rate. Encoder supports following sampling rates: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 64000, 88200, 96000 </p>
</td></tr>
<tr><td class="fieldname"><a id="a89203346d61af32bc4db4f704267ce46ae6835699b740abf05b257af9a23d171e"></a>AACENC_SBR_MODE&#160;</td><td class="fielddoc"><p>Configure SBR independently of the chosen Audio Object Type ::AUDIO_OBJECT_TYPE. This parameter is for ELD audio object type only.</p><ul>
<li>-1: Use ELD SBR auto configurator (default).</li>
<li>0: Disable Spectral Band Replication.</li>
<li>1: Enable Spectral Band Replication. </li>
</ul>
</td></tr>
<tr><td class="fieldname"><a id="a89203346d61af32bc4db4f704267ce46a53136089ed98ab0fd6b25bef713e7d6e"></a>AACENC_GRANULE_LENGTH&#160;</td><td class="fielddoc"><p>Core encoder (AAC) audio frame length in samples:</p><ul>
<li>1024: Default configuration.</li>
<li>512: Default length in LD/ELD configuration.</li>
<li>480: Length in LD/ELD configuration.</li>
<li>256: Length for ELD reduced delay mode (x2).</li>
<li>240: Length for ELD reduced delay mode (x2).</li>
<li>128: Length for ELD reduced delay mode (x4).</li>
<li>120: Length for ELD reduced delay mode (x4). </li>
</ul>
</td></tr>
<tr><td class="fieldname"><a id="a89203346d61af32bc4db4f704267ce46ad80879a8f31191b3d8537e8a2e7ae8c8"></a>AACENC_CHANNELMODE&#160;</td><td class="fielddoc"><p>Set explicit channel mode. Channel mode must match with number of input channels.</p><ul>
<li>1-7, 11,12,14 and 33,34: MPEG channel modes supported, see ::CHANNEL_MODE in FDK_audio.h. </li>
</ul>
</td></tr>
<tr><td class="fieldname"><a id="a89203346d61af32bc4db4f704267ce46a0c4086571f1d2f210d7f8a452313d743"></a>AACENC_CHANNELORDER&#160;</td><td class="fielddoc"><p>Input audio data channel ordering scheme:</p><ul>
<li>0: MPEG channel ordering (e. g. 5.1: C, L, R, SL, SR, LFE). (default)</li>
<li>1: WAVE file format channel ordering (e. g. 5.1: L, R, C, LFE, SL, SR). </li>
</ul>
</td></tr>
<tr><td class="fieldname"><a id="a89203346d61af32bc4db4f704267ce46a437a1d2c19e87a20cbb3aace382548b9"></a>AACENC_SBR_RATIO&#160;</td><td class="fielddoc"><p>Controls activation of downsampled SBR. With downsampled SBR, the delay will be shorter. On the other hand, for achieving the same quality level, downsampled SBR needs more bits than dual-rate SBR. With downsampled SBR, the AAC encoder will work at the same sampling rate as the SBR encoder (single rate). Downsampled SBR is supported for AAC-ELD and HE-AACv1.</p><ul>
<li>1: Downsampled SBR (default for ELD).</li>
<li>2: Dual-rate SBR (default for HE-AAC). </li>
</ul>
</td></tr>
<tr><td class="fieldname"><a id="a89203346d61af32bc4db4f704267ce46afc9ecda755c5a31272a40b53cd877ed5"></a>AACENC_AFTERBURNER&#160;</td><td class="fielddoc"><p>This parameter controls the use of the afterburner feature. The afterburner is a type of analysis by synthesis algorithm which increases the audio quality but also the required processing power. It is recommended to always activate this if additional memory consumption and processing power consumption is not a problem. If increased MHz and memory consumption are an issue then the MHz and memory cost of this optional module need to be evaluated against the improvement in audio quality on a case by case basis.</p><ul>
<li>0: Disable afterburner (default).</li>
<li>1: Enable afterburner. </li>
</ul>
</td></tr>
<tr><td class="fieldname"><a id="a89203346d61af32bc4db4f704267ce46a8a48e5b2207639bf186bbcb4608c6cee"></a>AACENC_BANDWIDTH&#160;</td><td class="fielddoc"><p>Core encoder audio bandwidth:</p><ul>
<li>0: Determine audio bandwidth internally (default, see chapter BEHAVIOUR_BANDWIDTH).</li>
<li>1 to fs/2: Audio bandwidth in Hertz. Limited to 20kHz max. Not usable if SBR is active. This setting is for experts only, better do not touch this value to avoid degraded audio quality. </li>
</ul>
</td></tr>
<tr><td class="fieldname"><a id="a89203346d61af32bc4db4f704267ce46aa7bea9a8448ac9bdb64e899e9a05b62c"></a>AACENC_PEAK_BITRATE&#160;</td><td class="fielddoc"><p>Peak bitrate configuration parameter to adjust maximum bits per audio frame. Bitrate is in bits/second. The peak bitrate will internally be limited to the chosen bitrate <a class="el" href="namespaceaac__fdk.html#a89203346d61af32bc4db4f704267ce46a3d5cc7ebd03bcdfc77b95878bf26432d">AACENC_BITRATE</a> as lower limit and the number_of_effective_channels*6144 bit as upper limit.</p>
<p>Setting the peak bitrate equal to <a class="el" href="namespaceaac__fdk.html#a89203346d61af32bc4db4f704267ce46a3d5cc7ebd03bcdfc77b95878bf26432d">AACENC_BITRATE</a> does not necessarily mean that the audio frames will be of constant size. Since the peak bitate is in bits/second, the frame sizes can vary by one byte in one or the other direction over various frames. However, it is not recommended to reduce the peak pitrate to <a class="el" href="namespaceaac__fdk.html#a89203346d61af32bc4db4f704267ce46a3d5cc7ebd03bcdfc77b95878bf26432d">AACENC_BITRATE</a> - it would disable the bitreservoir, which would affect the audio quality by a large amount. </p>
</td></tr>
<tr><td class="fieldname"><a id="a89203346d61af32bc4db4f704267ce46a2cc84c370b2f6094d532e9012097a953"></a>AACENC_TRANSMUX&#160;</td><td class="fielddoc"><p>Transport type to be used. See <a class="el" href="namespaceaac__fdk.html#a2778be91ce5b9583922e12ed14800ab7">TRANSPORT_TYPE</a> in FDK_audio.h. Following types can be configured in encoder library:</p><ul>
<li>0: raw access units</li>
<li>1: ADIF bitstream format</li>
<li>2: ADTS bitstream format</li>
<li>6: Audio Mux Elements (LATM) with muxConfigPresent = 1</li>
<li>7: Audio Mux Elements (LATM) with muxConfigPresent = 0, out of band StreamMuxConfig</li>
<li>10: Audio Sync Stream (LOAS) </li>
</ul>
</td></tr>
<tr><td class="fieldname"><a id="a89203346d61af32bc4db4f704267ce46a190063913318f73cce89ecba3a762727"></a>AACENC_HEADER_PERIOD&#160;</td><td class="fielddoc"><p>Frame count period for sending in-band configuration buffers within LATM/LOAS transport layer. Additionally this parameter configures the PCE repetition period in raw_data_block(). See encPCE.</p><ul>
<li>0xFF: auto-mode default 10 for TT_MP4_ADTS, TT_MP4_LOAS and TT_MP4_LATM_MCP1, otherwise 0.</li>
<li>n: Frame count period. </li>
</ul>
</td></tr>
<tr><td class="fieldname"><a id="a89203346d61af32bc4db4f704267ce46a7b59c3e9fe4cae5af7baa9eea4ce7ea5"></a>AACENC_SIGNALING_MODE&#160;</td><td class="fielddoc"><p>Signaling mode of the extension AOT:</p><ul>
<li>0: Implicit backward compatible signaling (default for non-MPEG-4 based AOT's and for the transport formats ADIF and ADTS)<ul>
<li>A stream that uses implicit signaling can be decoded by every AAC decoder, even AAC-LC-only decoders</li>
<li>An AAC-LC-only decoder will only decode the low-frequency part of the stream, resulting in a band-limited output</li>
<li>This method works with all transport formats</li>
<li>This method does not work with downsampled SBR</li>
</ul>
</li>
<li>1: Explicit backward compatible signaling<ul>
<li>A stream that uses explicit backward compatible signaling can be decoded by every AAC decoder, even AAC-LC-only decoders</li>
<li>An AAC-LC-only decoder will only decode the low-frequency part of the stream, resulting in a band-limited output</li>
<li>A decoder not capable of decoding PS will only decode the AAC-LC+SBR part. If the stream contained PS, the result will be a a decoded mono downmix</li>
<li>This method does not work with ADIF or ADTS. For LOAS/LATM, it only works with AudioMuxVersion==1</li>
<li>This method does work with downsampled SBR</li>
</ul>
</li>
<li><p class="startli">2: Explicit hierarchical signaling (default for MPEG-4 based AOT's and for all transport formats excluding ADIF and ADTS)</p><ul>
<li>A stream that uses explicit hierarchical signaling can be decoded only by HE-AAC decoders</li>
<li>An AAC-LC-only decoder will not decode a stream that uses explicit hierarchical signaling</li>
<li>A decoder not capable of decoding PS will not decode the stream at all if it contained PS</li>
<li>This method does not work with ADIF or ADTS. It works with LOAS/LATM and the MPEG-4 File format</li>
<li>This method does work with downsampled SBR</li>
</ul>
<p class="startli">For making sure that the listener always experiences the best audio quality, explicit hierarchical signaling should be used. This makes sure that only a full HE-AAC-capable decoder will decode those streams. The audio is played at full bandwidth. For best backwards compatibility, it is recommended to encode with implicit SBR signaling. A decoder capable of AAC-LC only will then only decode the AAC part, which means the decoded audio will sound band-limited.</p>
<p class="startli">For MPEG-2 transport types (ADTS,ADIF), only implicit signaling is possible.</p>
<p class="startli">For LOAS and LATM, explicit backwards compatible signaling only works together with AudioMuxVersion==1. The reason is that, for explicit backwards compatible signaling, additional information will be appended to the ASC. A decoder that is only capable of decoding AAC-LC will skip this part. Nevertheless, for jumping to the end of the ASC, it needs to know the ASC length. Transmitting the length of the ASC is a feature of AudioMuxVersion==1, it is not possible to transmit the length of the ASC with AudioMuxVersion==0, therefore an AAC-LC-only decoder will not be able to parse a LOAS/LATM stream that was being encoded with AudioMuxVersion==0.</p>
<p class="startli">For downsampled SBR, explicit signaling is mandatory. The reason for this is that the extension sampling frequency (which is in case of SBR the sampling frequqncy of the SBR part) can only be signaled in explicit mode.</p>
<p class="startli">For AAC-ELD, the SBR information is transmitted in the ELDSpecific Config, which is part of the AudioSpecificConfig. Therefore, the settings here will have no effect on AAC-ELD. </p>
</li>
</ul>
</td></tr>
<tr><td class="fieldname"><a id="a89203346d61af32bc4db4f704267ce46a9889dac3effef6ae098cf97429be71a4"></a>AACENC_TPSUBFRAMES&#160;</td><td class="fielddoc"><p>Number of sub frames in a transport frame for LOAS/LATM or ADTS (default 1).</p><ul>
<li>ADTS: Maximum number of sub frames restricted to 4.</li>
<li>LOAS/LATM: Maximum number of sub frames restricted to 2. </li>
</ul>
</td></tr>
<tr><td class="fieldname"><a id="a89203346d61af32bc4db4f704267ce46a236396d38d4e924b62af019d32e6d66b"></a>AACENC_AUDIOMUXVER&#160;</td><td class="fielddoc"><p>AudioMuxVersion to be used for LATM. (AudioMuxVersionA, currently not implemented):</p><ul>
<li>0: Default, no transmission of tara Buffer fullness, no ASC length and including actual latm Buffer fullnes.</li>
<li>1: Transmission of tara Buffer fullness, ASC length and actual latm Buffer fullness.</li>
<li>2: Transmission of tara Buffer fullness, ASC length and maximum level of latm Buffer fullness. </li>
</ul>
</td></tr>
<tr><td class="fieldname"><a id="a89203346d61af32bc4db4f704267ce46ab3ba3d0962f5705ff7180dcd8fd2adb4"></a>AACENC_PROTECTION&#160;</td><td class="fielddoc"><p>Configure protection in transport layer:</p><ul>
<li>0: No protection. (default)</li>
<li>1: CRC active for ADTS transport format. </li>
</ul>
</td></tr>
<tr><td class="fieldname"><a id="a89203346d61af32bc4db4f704267ce46a61433a6f8059bb4a511bbe0eb6986697"></a>AACENC_ANCILLARY_BITRATE&#160;</td><td class="fielddoc"><p>Constant ancillary data bitrate in bits/second.</p><ul>
<li>0: Either no ancillary data or insert exact number of bytes, denoted via input parameter, numAncBytes in AACENC_InArgs.</li>
<li>else: Insert ancillary data with specified bitrate. </li>
</ul>
</td></tr>
<tr><td class="fieldname"><a id="a89203346d61af32bc4db4f704267ce46aed0b972cda98990310fb4549fb857344"></a>AACENC_METADATA_MODE&#160;</td><td class="fielddoc"><p>Configure Meta Data. See ::AACENC_MetaData for further details:</p><ul>
<li>0: Do not embed any metadata.</li>
<li>1: Embed dynamic_range_info metadata.</li>
<li>2: Embed dynamic_range_info and ancillary_data metadata.</li>
<li>3: Embed ancillary_data metadata. </li>
</ul>
</td></tr>
<tr><td class="fieldname"><a id="a89203346d61af32bc4db4f704267ce46ae00b8ebefd9b8d5b62cd4c9628e6a64b"></a>AACENC_CONTROL_STATE&#160;</td><td class="fielddoc"><p>There is an automatic process which internally reconfigures the encoder instance when a configuration parameter changed or an error occured. This paramerter allows overwriting or getting the control status of this process. See ::AACENC_CTRLFLAGS. </p>
</td></tr>
<tr><td class="fieldname"><a id="a89203346d61af32bc4db4f704267ce46a677d19e9a423010ef015d354eade4d90"></a>AACENC_NONE&#160;</td><td class="fielddoc"><hr  />
 </td></tr>
</table>

</div>
</div>
<a id="a2778be91ce5b9583922e12ed14800ab7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2778be91ce5b9583922e12ed14800ab7">&#9670;&nbsp;</a></span>TRANSPORT_TYPE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="namespaceaac__fdk.html#a2778be91ce5b9583922e12ed14800ab7">aac_fdk::TRANSPORT_TYPE</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a2778be91ce5b9583922e12ed14800ab7a2ae984f8c6859d533d241d0d6dd421d6"></a>TT_UNKNOWN&#160;</td><td class="fielddoc"><p>Unknown format. <br  />
 </p>
</td></tr>
<tr><td class="fieldname"><a id="a2778be91ce5b9583922e12ed14800ab7a08b7c44b8c61203e19d775d815b049d4"></a>TT_MP4_RAW&#160;</td><td class="fielddoc"><p>"as is" access units (packet based since there is obviously no sync layer) </p>
</td></tr>
<tr><td class="fieldname"><a id="a2778be91ce5b9583922e12ed14800ab7aec6dfa33370367efb3b3ae6a92b42abe"></a>TT_MP4_ADIF&#160;</td><td class="fielddoc"><p>ADIF bitstream format. <br  />
 </p>
</td></tr>
<tr><td class="fieldname"><a id="a2778be91ce5b9583922e12ed14800ab7a4dcca5bcc4b82568da4a32aaf231966b"></a>TT_MP4_ADTS&#160;</td><td class="fielddoc"><p>ADTS bitstream format. <br  />
 </p>
</td></tr>
<tr><td class="fieldname"><a id="a2778be91ce5b9583922e12ed14800ab7a89d1c7f23ba3d2efab85e22a7448c946"></a>TT_MP4_LATM_MCP1&#160;</td><td class="fielddoc"><p>Audio Mux Elements with muxConfigPresent = 1 </p>
</td></tr>
<tr><td class="fieldname"><a id="a2778be91ce5b9583922e12ed14800ab7a987ebf05498533bd17a877dfcd580b0a"></a>TT_MP4_LATM_MCP0&#160;</td><td class="fielddoc"><p>Audio Mux Elements with muxConfigPresent = 0, out of band StreamMuxConfig </p>
</td></tr>
<tr><td class="fieldname"><a id="a2778be91ce5b9583922e12ed14800ab7aa522b7ad960dd9229d0c5e7591313d24"></a>TT_MP4_LOAS&#160;</td><td class="fielddoc"><p>Audio Sync Stream. <br  />
 </p>
</td></tr>
<tr><td class="fieldname"><a id="a2778be91ce5b9583922e12ed14800ab7a5e2b269f45b1f5c7cc88eb1f7d0cff38"></a>TT_DRM&#160;</td><td class="fielddoc"><p>Digital Radio Mondial (DRM30/DRM+) bitstream format. </p>
</td></tr>
</table>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>
